/* 
 * @(#)InsectoBean.java 
 *  
 * Esta clase presenta el listado de insectos.  
 * 
 * @version 1.0
 * @date 01/11/12 
 * @author Ricardo Escobar 
 *  
 */
package muhnes.sizoo.publico;

import java.util.List;
import java.io.Serializable;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import muhnes.sizoo.modelo.Animal;
import muhnes.sizoo.dal.AnimalDao;
import muhnes.sizoo.dal.AnimalDaoImpl;
import muhnes.sizoo.dal.FabricaDAO;
import muhnes.sizoo.modelo.Sinonimia;

/**
 * Clase que controla la vista de insectos
 * @author Ricardo Orellana
 */
@ManagedBean(name = "insectoBean")
@ViewScoped
public class InsectoBean implements Serializable{
    
    private Animal insecto;
    private List<Animal> listaInsectos;
    
    /**
     * Constructor de la clase
     */
    public InsectoBean(){
        insecto = new Animal();
    }

    /**
     * Getter de insecto
     *  
     */
    public Animal getAnimal() {
        return insecto;
    }

    /**
     * Devuelve una lista de insectos
     *  
     */
    public List<Animal> getListaInsectos() {
        if(listaInsectos == null){
            AnimalDao animalDao = FabricaDAO.crearAnimalDao();
            listaInsectos = animalDao.buscarInsectos();
        }
        return listaInsectos;
    }
   
    /**
     * Metodo que devuelve las sinonimias de los insectos
     *  
     */
    public String getSinonimias(  Animal insecto ) {
        String sinonimias = "";
        for( Sinonimia sinonimia : insecto.getSinonimias() ) {
            String nombreAntiguo = sinonimia.getNombreantiguo();
            sinonimias += ", " + nombreAntiguo;
        }      
        if( !sinonimias.isEmpty() ) {
            sinonimias = sinonimias.substring(2);
        }
        else {
            sinonimias = "Ninguno";
        }
        return sinonimias;
    }
    
}